<?php

namespace app\admin\model\pos;

use think\Model;

/**
 * Swiftpay
 */
class Swiftpay extends Model
{
    // 表主键
    protected $pk = 'Id';
    
    // 表名
    protected $name = 'pos_swiftpay';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = false;

    // 追加属性
    protected $append = [
        'bankTypeTable',
    ];


    public function getBankTypeTableAttr($value, $row): array
    {
        return [
            'bank_name' => \app\admin\model\pay\bank\Type::whereIn('bank_type', $row['BankType'])->column('bank_name'),
        ];
    }

    public function getBankTypeAttr($value): array
    {
        if ($value === '' || $value === null) return [];
        if (!is_array($value)) {
            return explode(',', $value);
        }
        return $value;
    }

    public function setBankTypeAttr($value): string
    {
        return is_array($value) ? implode(',', $value) : $value;
    }

    public function sOIdTable(): \think\model\relation\BelongsTo
    {
        return $this->belongsTo(\app\admin\model\stock\Locations::class, 'SOId', 'loccode');
    }

    public function payTypeTable(): \think\model\relation\BelongsTo
    {
        return $this->belongsTo(\app\admin\model\pay\trade\Type::class, 'PayType', 'pay_type');
    }
}